﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DisciplinaLib.Basic;
using DisciplinaLib.Repositorio;
using System.Data;

namespace DisciplinaLib.Regra
{
    public class RegDisciplina
    {
        public void campoVazio(Disciplina obj)
        {
            if (obj.Nome.Equals(""))
            {
                throw new Exception("Campos em branco!");
            }
        }

        public void campoExistente(Disciplina obj)
        {

            try
            {

                List<Disciplina> lista = RepDisciplina.getInstancia().listar();

                for (int i = 0; i < lista.Count; i++)
                {
                    if (obj.Nome.Equals(lista[i].Nome))
                    {
                        throw new Exception("Já existe uma disciplina com esse nome!");
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void campoExistenteAlterar(Disciplina obj)
        {

            try
            {

                List<Disciplina> lista = RepDisciplina.getInstancia().listarAlterar(obj);

                for (int i = 0; i < lista.Count; i++)
                {
                    if (obj.Nome.Equals(lista[i].Nome))
                    {
                        throw new Exception("Já existe uma disciplina com esse nome!");
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /*
        public void verificarExistencia(Disciplina obj, List<Disciplina> listaBanco)
        {
            try
            {

                for (int i = 0; i < listaBanco.Count; i++)
                {
                    if (obj.Codigo != listaBanco[i].Codigo)
                    {
                        throw new Exception("A pesquisa não retornou registros!");
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
         * */
        
    }
}
